package com.ruoyi.lvlian.service;

import java.util.List;

import com.ruoyi.lvlian.domain.WarehouseInfo;
import com.ruoyi.lvlian.dto.WarehouseInfoDto;
import com.ruoyi.lvlian.vo.WarehouseInfoVo;
import org.springframework.web.multipart.MultipartFile;

/**
 * 入库单Service接口
 *
 * @author liyuxi
 * @date 2024-07-19
 */
public interface IWarehouseInfoService {
    /**
     * 查询入库单
     *
     * @param id 入库单主键
     * @return 入库单
     */
    public WarehouseInfoVo selectWarehouseInfoById(String id);

    /**
     * 查询入库单列表
     *
     * @param inWarehouseInfo 入库单
     * @return 入库单集合
     */
    public List<WarehouseInfoVo> selectWarehouseInfoList(WarehouseInfoDto inWarehouseInfo);

    /**
     * 新增入库单
     *
     * @param inWarehouseInfo 入库单
     * @return 结果
     */
    public int insertWarehouseInfo(WarehouseInfo inWarehouseInfo);

    /**
     * 修改入库单
     *
     * @param inWarehouseInfo 入库单
     * @return 结果
     */
    public int updateWarehouseInfo(WarehouseInfo inWarehouseInfo);

    /**
     * 批量删除入库单
     *
     * @param ids 需要删除的入库单主键集合
     * @return 结果
     */
    public int deleteWarehouseInfoByIds(String[] ids);

    /**
     * 删除入库单信息
     *
     * @param id 入库单主键
     * @return 结果
     */
    public int deleteWarehouseInfoById(String id);

    List<WarehouseInfo> importInfo(MultipartFile file, String sheetName, int rows) throws Exception;

    int bachSave(List<WarehouseInfo> dtoList);

    public WarehouseInfoVo getInfoByOther(String category, String warehouseNum, String plateNo);
}
